package com.xiaomei.manager.dao;

import java.util.List;
import java.util.Map;

import com.xiaomei.manager.model.JPushRecord;
import com.xiaomei.manager.model.User;
import com.xiaomei.manager.model.UserAndRecommandDto;
import com.xiaomei.manager.web.dto.CountDto;
import com.xiaomei.manager.web.dto.OrderAndUser;
import com.xiaomei.manager.web.dto.UserAndDriverAuthDto;
import com.xiaomei.manager.web.dto.req.FemaleDto;
import com.xiaomei.manager.web.dto.req.UserCompleteDto;
import com.xiaomei.manager.web.page.Page;

public interface UserMapper extends BaseMapper {
    
	List<OrderAndUser> selectInviteUserByOrderCode(String mobile);
	
	List<OrderAndUser> selectAll();
	/**
	 *根据请求参数map查看用户信息
	 * @param page 请求参数map
	 * @return 返回数据结果信息集
	 */

	User selectByUserCode(String userCode);

	List<UserAndDriverAuthDto> selectByParamMap(Page<UserAndDriverAuthDto> page);
	/**
	 * 每日女乘客注册量
	 * @param page
	 * @return
	 */
	List<FemaleDto>selectFemale(Page<FemaleDto> page);
	/**
	 * 返回所有用户成交订单数
	 * @param page
	 * @return
	 */
	List<UserCompleteDto> selectUserComplete(Page<UserCompleteDto> page);
	
	/**
	 * 获取虚拟用户
	 * @return
	 */
	List<User> selectFictitiousUser();
	/**
	 * 所有用户统计
	 * @return
	 */
	CountDto selectCount();
	/**
	 * 根据男女和时间返回新增用户
	 * @param map
	 * @return
	 */
	List<FemaleDto> selectFemaleCount(Map<String,Object> map);
	/**
	 * 根据用户编号返回
	 * @param userCode
	 * @return
	 */
	User selectBrodcast(String userCode);
	/**
	 * 随机获取一天为女的虚拟数据
	 * @return
	 */
	User selectSexFemale();
	/**
	 * 随机获取一天为男的虚拟数据
	 * @return
	 */
	User selectSexBoy();
	/**
	 * 根据性别
	 * @return
	 */
	List<User> selectByFemale(String sex);
	List<UserAndRecommandDto> selectUserCecommandValue(Page<UserAndRecommandDto> page);
}